﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random r = new Random();
            //for (int i = 0; i < 10; i++)
            // {
            //    1、生成0 - 5之间的随机小数，保留两位小数（必须是2位）。
            //    double d = ran.NextDouble() * 5;
            //    Console.WriteLine(d.ToString("f2"));
            //    2、生成4 - 7之间的随机小数，保留两位小数。
            //    double d = ran.NextDouble() * (7 - 4) + 4;
            //    Console.WriteLine(d.ToString("f2"));
        //}

                //3、生成一个随机整型数组，长度是10，内容是1~10，数组内容不重复。
                int[] arr = new int[10];
                int a;
                 for (int i = 0; i < 10; i++)
                    {
                     do{
                         a = r.Next(11 - arr[i]);
                        } 
                    while (Array.IndexOf(arr, a) >= 0);
                        arr[i] = a;
                        Console.WriteLine(arr[i]+"   ");
                     }
            Console.WriteLine();
            //youxiang();
            Phone();





            Console.ReadKey();
        }
        static void youxiang()
        {
            //1、邮箱一定需要 @符号
            //2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
            //	前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；

            //       后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
            //	后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info

            //        |**编号**|**字符**|**描述**|
            //|------|------|------|
            //|1	|.	|匹配除换行符以外的所有字符|
            //|2	|\w	|[a-z0-9A-Z_] 匹配字母、数字、下画线|
            //|3	|\s	|匹配空白符（空格）|
            //|4	|\d	|[0-9] 匹配数字|
            //|5	|\b	|匹配表达式的开始或结束|
            //|6	|^	|匹配表达式的开始|
            //|7	|$	|匹配表达式的结束|

            //正则表达式中表示重复的字符

            //|**编 号**|**字 符**|**描 述**|
            //|------|------|------|
            //|1	|*	|0次或多次字符|       
            //|2	|?	|0次或1次字符|       //	前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；
            //|3	|+	|1次或多次字符|     //  后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
            //|4	|{n} 	|n次字符|         //	后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info
            //|5	|{n,M} 	|n到M次字符|
            //|6	|{n, }	|n次以上字符|

            Console.WriteLine("输入一个邮箱：");
            string a = Console.ReadLine();
            if (Regex.IsMatch(a, @"^[\w]+(\.|[\w])*@[\w]+(\.(com|org|net|edu|mil|tv|biz|info))$"))
            {
                Console.WriteLine("正确！！！");
            }
            else
            {
                Console.WriteLine("错误！！！");
            }
        }
        static void Phone()
        {
            Console.WriteLine("请输入一个手机号:");
            string phone = Console.ReadLine();
            if (Regex.IsMatch(phone, @"^(\+86)?((13\d{1})|(14(5|7))|(15[3-9]{1})|(16[5-9]{1})|(17([6-8]{1}))|(18(\d{1})))\d{8}$"))
            {
                Console.WriteLine("正确！！！");
            }
            else
            {
                Console.WriteLine("错误！！！");
            }
        }


    }

    }
